package com.hl.ruoyicsmshop.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.Date;

/**
 * 流量对象 flowrate
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class Flowrate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 流量ID */
    private Long flowrateId;

    /** 浏览用户ID(未登录用户为NULL) */
    @Excel(name = "浏览用户ID")
    private Long userId;

    /** 浏览时间 */
    @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flowrateTime;

    /** 浏览的商品ID */
    @Excel(name = "浏览的商品ID")
    private Long goodsId;

    /** IP地址 */
    @Excel(name = "IP地址")
    private String ipAddress;

    /** 设备类型(mobile/pc) */
    @Excel(name = "设备类型(mobile/pc)")
    private String deviceType;

    /** 会话ID */
    @Excel(name = "会话ID")
    private String sessionId;

    /** 停留时长(秒) */
    @Excel(name = "停留时长(秒)")
    private Integer stayDuration;

    /** 流量来源 */
    @Excel(name = "流量来源")
    private String source;

    public void setFlowrateId(Long flowrateId) 
    {
        this.flowrateId = flowrateId;
    }

    public Long getFlowrateId() 
    {
        return flowrateId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setFlowrateTime(Date flowrateTime) 
    {
        this.flowrateTime = flowrateTime;
    }

    public Date getFlowrateTime() 
    {
        return flowrateTime;
    }

    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }

    public void setIpAddress(String ipAddress) 
    {
        this.ipAddress = ipAddress;
    }

    public String getIpAddress() 
    {
        return ipAddress;
    }

    public void setDeviceType(String deviceType) 
    {
        this.deviceType = deviceType;
    }

    public String getDeviceType() 
    {
        return deviceType;
    }

    public void setSessionId(String sessionId) 
    {
        this.sessionId = sessionId;
    }

    public String getSessionId() 
    {
        return sessionId;
    }

    public void setStayDuration(Integer stayDuration) 
    {
        this.stayDuration = stayDuration;
    }

    public Integer getStayDuration() 
    {
        return stayDuration;
    }

    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("flowrateId", getFlowrateId())
            .append("userId", getUserId())
            .append("flowrateTime", getFlowrateTime())
            .append("goodsId", getGoodsId())
            .append("ipAddress", getIpAddress())
            .append("deviceType", getDeviceType())
            .append("sessionId", getSessionId())
            .append("stayDuration", getStayDuration())
            .append("source", getSource())
            .toString();
    }
} 